gtknotebook: Add more non-NULL checks for cur_page
authorPhilip Withnall <philip.withnall@collabora.co.uk>
Tue, 10 Mar 2015 08:34:39 +0000 (08:34 +0000)
committerPhilip Withnall <philip.withnall@collabora.co.uk>
Wed, 11 Mar 2015 11:24:29 +0000 (11:24 +0000)
These were not spotted by scan-build, but from some brief mental
reasoning could potentially be problem areas.

https://bugzilla.gnome.org/show_bug.cgi?id=712760

gtk/gtknotebook.c

index 889826086c3c6e719b605726d0b63728933d06c5..9f6b51fd7f08acb27b1590cffaab01cdc32b0e76 100644 (file)
@@ -3401,7 +3401,7 @@ scroll_notebook_timer (gpointer data)
   first_tab = gtk_notebook_search_page (notebook, priv->first_tab,
                                         (pointer_position == POINTER_BEFORE) ? STEP_PREV : STEP_NEXT,
                                         TRUE);
-  if (first_tab)
+  if (first_tab && priv->cur_page)
     {
       priv->first_tab = first_tab;
       gtk_notebook_pages_allocate (notebook);
@@ -3692,6 +3692,8 @@ gtk_notebook_drag_begin (GtkWidget        *widget,
       priv->dnd_timer = 0;
     }
 
+  g_assert (priv->cur_page != NULL);
+
   priv->operation = DRAG_OPERATION_DETACH;
   gtk_notebook_pages_allocate (notebook);
 
@@ -3827,6 +3829,8 @@ gtk_notebook_drag_motion (GtkWidget      *widget,
       goto out;
     }
 
+  g_assert (priv->cur_page != NULL);
+
   stop_scrolling (notebook);
   target = gtk_drag_dest_find_target (widget, context, NULL);
   tab_target = gdk_atom_intern_static_string ("GTK_NOTEBOOK_TAB");
@@ -6096,6 +6100,8 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook  *notebook,
   GtkAllocation child_allocation = { 0, };
   GtkOrientation tab_expand_orientation;
 
+  g_assert (priv->cur_page != NULL);
+
   widget = GTK_WIDGET (notebook);
   container = GTK_CONTAINER (notebook);
   gtk_widget_style_get (widget, "tab-overlap", &tab_overlap, NULL);